<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<%
	String path = request.getContextPath();
%>
<html>
	<head>
		<title>客户端群组管理</title>
		<link rel="stylesheet" type="text/css"
	href="<%=path%>/css/btn_class.css" />
<link rel="stylesheet" type="text/css"
	href="<%=path%>/extjs/resources/css/ext-all.css" />
<link rel="stylesheet" type="text/css" href="<%=path%>/extjs/style.css" />
<script type="text/javascript"
	src="<%=path%>/extjs/adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="<%=path%>/extjs/ext-all.js"></script>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
	
</head>

<body >
<div id="west-div" style="width: 100%; height: 100%;"></div>
	<div id="center-div"></div>
<script type="text/javascript">
Ext.onReady(function(){

	var Jthtwb_group = Ext.data.Record.create([ {
		name : 'fid',
		mapping : 'fid',
		type : 'string'
	}, {
		name : 'fname',
		mapping : 'fname',
		type : 'string'
	}, {
		name : 'fdesc',
		mapping : 'fdesc',
		type : 'string'
	}, {
		name : 'ftype',
		mapping : 'ftype',
		type : 'string'
	}, {
		name : 'fstate',
		mapping : 'fstate',
		type : 'string'
	}, {
		name : 'fuser',
		mapping : 'fuser',
		type : 'string'
	} ]);

	//用户列表
	var ds_group = new Ext.data.Store({
		reader : new Ext.data.JsonReader({
			totalProperty : 'totalProperty',
			root : 'root'
		}, Jthtwb_group),
		idProperty : 'threadid',
		remoteSort : true,
		url : 'patient!queryGroupList.do'
	});
	ds_group.load({
		params : {
			start : 0,
			limit : 50
		}
	});

	//定义勾选框，不需要可不必定义
	var sm_group = new Ext.grid.CheckboxSelectionModel({
		singleSelect : true
	});

	//定义列
	var colM_group = new Ext.grid.ColumnModel([ sm_group, new Ext.grid.RowNumberer(),//增加自动编号，不需要可不必定义
	    {
			header : '群组名称',
			dataIndex : 'fname',
			width : 200,
			sortable : false
		}, {
			header : '群组描述',
			dataIndex : 'fdesc',
			width : 300,
			renderer : function(value) {
					if (value == "null") {
						return "";
					} else {
						return value;
					}
				}
		}]);

	//生成表格
	var grid_group = new Ext.grid.GridPanel({
		region : 'center',
		height : 350,
		autoWidth : true,
		stripeRows : true,
		title : '用户列表',
		cm : colM_group,
		ds : ds_group,
		sm : sm_group,
		listeners : {
				'rowdblclick' : function(grid, row) { //双击打开
					var record = grid.getSelectionModel().getSelected();
					if (record) {
						group_mod_form(record.data.fid, record.data.fname, record.data.fdesc);
					}
				}
			},
		enableHdMenu : false
	});
	
	var btn_add = new Ext.Button({
		text : '新增',
		iconCls : 'sy-add',
		handler : function() {
			group_detail_form();
		}
	});
	
	/**************************** 以下是新增群组表单 *************************************************/

				//用户表单
				function group_detail_form() {
					var group_form_send = new Ext.form.FormPanel({  
				        layout : "form",  
				        id:"groupform",  
				        frame : true,  
						labelWidth : 55,
				        waitMsgTarget: true,  
				        items : [{
				        	xtype : "textfield",  
		                    fieldLabel : "群组名称",  
		                    allowBlank : false,
		                    name : "fname",
		                    id : 'fname_id',
		                    width : 200
					}, {
						xtype : 'textarea',
						fieldLabel : '群组描述',
						id : 'fdesc_id',
						allowBlank : false,
						name : 'fdesc',
						width : 200
					}]});
						
					var btn_save_form = new Ext.Button({
						text : '保存',
						iconCls : 'sy-save',
						handler : function(btn) {
							var frm = group_form_send.getForm();
							if (frm.isValid()) {
								frm.submit({
								    url : 'patient!saveGroup.do',
								    method : 'POST',
									waitTitle : '请稍候',
									waitMsg : '正在提交表单数据,请稍候...',
									success : function(form, action) {
											ds_group.removeAll();
											ds_group.reload();
											group_detail_window.close();
											Ext.MessageBox.alert('提示', '保存成功！');
									},
									failure : function(form, action) {
										Ext.Msg.show({
											title : '错误提示',
											msg : action.result.message,
											buttons : Ext.Msg.OK,
											fn : function() {
												unfield.focus(true);
												btn.enable();
											},
											icon : Ext.Msg.ERROR
										});
									},// failure
									icon : Ext.Msg.ERROR
								});
							};// isValid
						}
					});
					
					var btn_reset_form = new Ext.Button({
						text : '取消',
						iconCls : 'sy-reset',
						handler : function(btn) {
							group_detail_window.close();
						}
					});

					var group_detail_window = new Ext.Window({
						tbar : [ btn_save_form, '-', btn_reset_form],
						width : 340,
						height : 200,
						title : '群组管理',
						iconCls : 'sy-win-flag',
						modal : true,
						items : [ group_form_send ]
					});
					group_detail_window.show();
				} // end form
				
				
	            //修改用户表单
				function group_mod_form(fid, fname, fdesc) {
					var group_form_send = new Ext.form.FormPanel({  
				        layout : "form",  
				        id:"userform",  
				        frame : true,  
						labelWidth : 55,
				        waitMsgTarget: true,  
				        items : [{
				        	xtype : "textfield",  
		                    fieldLabel : "群组名称",  
		                    allowBlank : false,
		                    name : "fname",
		                    id : 'from_fname_id',
		                    value: fname,
		                    width : 200
					}, {
						xtype : 'textarea',
						fieldLabel : '描述',
						id : 'form_fdesc_id',
						allowBlank : false,
						name : 'fdesc',
						value : fdesc, 
						width : 200
					}, {
						xtype : 'hidden',
						name : 'fid',
						value : fid
					}]});
						
					var btn_save_form = new Ext.Button({
						text : '保存',
						iconCls : 'sy-save',
						handler : function(btn) {
							var frm = group_form_send.getForm();
							if(Ext.get('loginname_flag').dom.value == "1") {
								Ext.MessageBox.alert('警告', '该登陆账号已经存在！');
								return false;
							}
							if (frm.isValid()) {
								frm.submit({
								    url : 'patient!saveGroup.do',
								    method : 'POST',
									waitTitle : '请稍候',
									waitMsg : '正在提交表单数据,请稍候...',
									success : function(form, action) {
											ds_group.removeAll();
											ds_group.reload();
											group_detail_window.close();
											Ext.MessageBox.alert('提示', '保存成功！');
									},
									failure : function(form, action) {
										Ext.Msg.show({
											title : '错误提示',
											msg : action.result.message,
											buttons : Ext.Msg.OK,
											fn : function() {
												unfield.focus(true);
												btn.enable();
											},
											icon : Ext.Msg.ERROR
										});
									},// failure
									icon : Ext.Msg.ERROR
								});
							};// isValid
						}
					});
					
					var btn_reset_form = new Ext.Button({
						text : '取消',
						iconCls : 'sy-reset',
						handler : function(btn) {
							group_detail_window.close();
						}
					});

					var group_detail_window = new Ext.Window({
						tbar : [ btn_save_form, '-', btn_reset_form],
						width : 340,
						height : 200,
						title : '用户管理',
						iconCls : 'sy-win-flag',
						modal : true,
						items : [ group_form_send ]
					});
					group_detail_window.show();
				} // end form
				

	var btn_delete = new Ext.Button({
		text : '删除',
		iconCls : 'sy-delete',
		handler : function() {
			var record = grid_group.getSelectionModel().getSelected();
			if (record) {
				Ext.Msg.confirm('确认删除', '删除操作将会导致某些数据无法正常显示，您确定删除吗？', function(btn) {
					if (btn == 'yes') {
						Ext.Ajax.request({
							url : 'patient!deleteGroupByFid.do',
							params:{
			    	        	fid : record.data.fid
				    	    },
							success : function() {
								ds_group.removeAll();
								ds_group.reload();
								Ext.MessageBox.alert('提示', '删除成功！');
							},
							failure : function() {
								Ext.Msg.show({
									title : '错误提示',
									msg : '删除记录失败！',
									buttons : Ext.Msg.OK,
									icon : Ext.Msg.ERROR
								});
							}
						});
					}
				});
			} else {
				Ext.MessageBox.alert('提示', '请选择一行记录进行操作！');
				return;
			}
		}
	});
	
	var btn_refresh = new Ext.Button({
		text : '刷新',
		iconCls : 'sy-refresh',
		handler : function() {
			ds_group.removeAll();
			ds_group.reload();
		}
	});
	
     var panel = new Ext.Panel({
			    	region: "center",
					layout:'fit',
					border : true,
					margins:'0 5 0 0',
					tbar : [ btn_add, '-', btn_delete, '-', btn_refresh , {
				xtype : 'hidden',
				fieldLabel : '用户名标记',
				id : 'loginname_flag',
				name : 'loginname_flag'
			}],
					listeners : {
						'render' : function(){
							// oneTbar.render(this.tbar); 
							// twoTbar.render(this.tbar); 
						}
				 	},
					items : [ grid_group ]
				});
				
				
				/************************************* 所属区县树 结束 ********************************************************/
				var viewport = new Ext.Viewport({
					layout : 'border',
					items : [ panel ]
				});
});

</script>

</body>
</html>
